N<-101	#入力次元
JRandSd<-1	#標準偏差
JRandM<-0	#平均
XRandSd<- 1/N	#標準偏差
XRandM<-0	#平均
eta<- .1
M<-0	#変更点
MML<-250*N

b<-matrix(1,N,1)	#変更点
b<-b*sqrt(N/sum(b^2))
bL<-sqrt(sum(b^2))

#変更点###
j1<-b
for(i in 1:(N*0.2)){
	j1[i]=-1
}
########
j1<-j1*sqrt(N/sum(j1^2))

#変更点###
j2<-b
for(i in (N*0.8):N){
	j2[i]=-1
}
##########
j2<-j2*sqrt(N/sum(j2^2))

R<-matrix(0,MML+M+1,2)
q<-matrix(0,MML+M+1,1)
L<-matrix(0,MML+M+1,2)

mlearn <- function(){
	for (i in (M+1):(M+MML+1)){
		L[i,1]<<-sqrt(sum(j1^2))
		L[i,2]<<-sqrt(sum(j2^2))
		R[i,1]<<-sum(j1*b)/(L[i,1]*bL)
		R[i,2]<<-sum(j2*b)/(L[i,2]*bL)
		q[i]<<-sum(j1*j2)/(L[i,1]*L[i,2])
		x<-matrix(rnorm(N,XRandM,XRandSd),N,1)
		uj1<-sum(x*j1)
		uj2<-sum(x*j2)
		j1 <<- j1 + eta*(uj2-uj1)*x
		j2 <<- j2 + eta*(uj1-uj2)*x
	}
}

#MAIN routine
mlearn()

#
plot(L[(M+1):(M+MML+1),1]/sqrt(N),R[(M+1):(M+MML+1),1],xlim=c(0.70,1),ylim=c(0.5,1),type="l")
par(new=T);plot(L[(M+1):(M+MML+1),2]/sqrt(N),R[(M+1):(M+MML+1),2],xlim=c(0.70,1),ylim=c(0.5,1),type="l")
#
plot(L[1:(M+MML+1),1]/sqrt(N),R[1:(M+MML+1),1],type="l")
par(new=T);plot(L[1:(M+MML+1),2]/sqrt(N),R[1:(M+MML+1),2],type="l")
#
plot(1:(MML+M+1),R[,1],ylim=c(0,1),type="l")
par(new=T);plot(1:(MML+M+1),R[,2],ylim=c(0,1),type="l")
par(new=T);plot(1:(MML+M+1),q,ylim=c(0,1),type="l")
#
plot((M+1):(MML+M+1),R[M:(MML+M+1),1],ylim=c(0,1),type="l")
par(new=T);plot((M+1):(MML+M+1),R[(M+1):(MML+M+1),2],ylim=c(0,1),type="l")
par(new=T);plot((M+1):(MML+M+1),q[(M+1):(MML+M+1)],ylim=c(0,1),type="l")
